home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / HENSA / MATHS / PLPLOT / PLPLOT.ZIP / src / stubf / sfstubs.fm < prev    next >
Encoding:
Text File  |  1994-07-13  |  8.9 KB  |  357 lines

  1. divert(-1)dnl
  2. !***********************************************************************
  3. !
  4. !  sfstubs.fm4
  5. !
  6. ! This file contains all the fortran stub routines.
  7. ! It must be passed through m4 before it becomes legal Fortran.
  8. !
  9. ! $Id: sfstubs.fm4,v 1.3 1994/07/12 19:22:10 mjl Exp $
  10. !
  11. ! $Log: sfstubs.fm4,v $
  12. ! Revision 1.3  1994/07/12  19:22:10  mjl
  13. ! Various cleaning up and robustifications.
  14. !
  15. ! Revision 1.2  1994/04/08  12:27:25  mjl
  16. ! Added missing variable declarations.
  17. !
  18. ! Revision 1.1  1994/03/30  07:29:40  mjl
  19. ! Moved fortran interface files up one level -- no longer separate single
  20. ! and double precision files.  Implemented m4 expansion of REAL into either
  21. ! real*4 or real*8 depending on configure settings, for portable builds
  22. ! of either the single or double precision library without copying files.
  23. ! Files with .fm4 suffix must be run through m4 to become normal fortran
  24. ! files.
  25. !***********************************************************************
  26.  
  27. divert(1)dnl
  28. include(fmacs.m4)dnl
  29. define(include_strings,{
  30.     integer maxlen
  31.     parameter (maxlen = 320)
  32.     character*(maxlen) string1, string2, string3
  33.     character*(maxlen) string4, string5, string6
  34.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  35.     equivalence ( s1, string1 ), ( s2, string2 )
  36.     equivalence ( s3, string3 ), ( s4, string4 )
  37.     equivalence ( s5, string5 ), ( s6, string6 )
  38.     common /zzplstr1/ string1
  39.     common /zzplstr2/ string2
  40.     common /zzplstr3/ string3
  41.     common /zzplstr4/ string4
  42.     common /zzplstr5/ string5
  43.     common /zzplstr6/ string6
  44. })dnl
  45. !***********************************************************************
  46. !
  47. !  sfstubs.f
  48. !
  49. !  This file contains all the fortran stub routines.
  50. !  {REAL} variables correspond to: REAL
  51. !
  52. !***********************************************************************
  53.  
  54.     subroutine plsdev(dnam)
  55.  
  56.         implicit_none
  57.     character*(*) dnam
  58.         include_strings
  59.  
  60.     call plstrf2c(dnam, string1, maxlen)
  61.     call plsdev7(s1)
  62.  
  63.     end
  64.  
  65. !***********************************************************************
  66.  
  67.     subroutine plsfnam(fnam)
  68.  
  69.         implicit_none
  70.     character*(*) fnam
  71.         include_strings
  72.  
  73.     call plstrf2c(fnam, string1, maxlen)
  74.     call plsfnam7(s1)
  75.  
  76.     end
  77.  
  78. !***********************************************************************
  79.  
  80.     subroutine plgfnam(fnam)
  81.  
  82.         implicit_none
  83.     character*(*) fnam
  84.         include_strings
  85.  
  86.     call plgfnam7(string1)
  87.         call plstrc2f(string1, fnam)
  88.  
  89.     end
  90.  
  91. !***********************************************************************
  92.  
  93.     subroutine plgver(ver)
  94.  
  95.         implicit_none
  96.     character*(*) ver
  97.         include_strings
  98.  
  99.     call plgver7(s1)
  100.         call plstrc2f(string1, ver)
  101.  
  102.     end
  103.  
  104. !***********************************************************************
  105.  
  106.     subroutine plaxes(x0,y0,xopt,xtick,nxsub,yopt,ytick,nysub)
  107.  
  108.         implicit_none
  109.     REAL x0, y0, xtick, ytick
  110.     integer nxsub, nysub
  111.     character*(*) xopt,yopt
  112.         include_strings
  113.  
  114.     call plstrf2c(xopt, string1, maxlen)
  115.     call plstrf2c(yopt, string2, maxlen)
  116.  
  117.     call plaxes7(x0,y0,s1,xtick,nxsub,s2,ytick,nysub)
  118.  
  119.     end
  120.  
  121. !***********************************************************************
  122.  
  123.     subroutine plbox(xopt,xtick,nxsub,yopt,ytick,nysub)
  124.  
  125.         implicit_none
  126.     REAL xtick, ytick
  127.     integer nxsub, nysub
  128.     character*(*) xopt,yopt
  129.         include_strings
  130.  
  131.     call plstrf2c(xopt, string1, maxlen)
  132.     call plstrf2c(yopt, string2, maxlen)
  133.  
  134.     call plbox7(s1,xtick,nxsub,s2,ytick,nysub)
  135.  
  136.     end
  137.  
  138. !***********************************************************************
  139.  
  140.     subroutine plbox3(xopt,xlabel,xtick,nxsub,yopt,ylabel,ytick,nysub,
  141.      &            zopt,zlabel,ztick,nzsub)
  142.  
  143.         implicit_none
  144.     REAL xtick, ytick, ztick
  145.     character*(*) xopt,xlabel,yopt,ylabel,zopt,zlabel
  146.     integer nxsub, nysub, nzsub
  147.         include_strings
  148.  
  149.     call plstrf2c(xopt, string1, maxlen)
  150.     call plstrf2c(xlabel, string2, maxlen)
  151.     call plstrf2c(yopt, string3, maxlen)
  152.     call plstrf2c(ylabel, string4, maxlen)
  153.     call plstrf2c(zopt, string5, maxlen)
  154.     call plstrf2c(zlabel, string6, maxlen)
  155.  
  156.     call plbox37(s1,s2,xtick,nxsub,
  157.      &               s3,s4,ytick,nysub,
  158.      &               s5,s6,ztick,nzsub)
  159.  
  160.     end
  161.  
  162. !***********************************************************************
  163.  
  164.     subroutine plcon0(z,nx,ny,kx,lx,ky,ly,clevel,nlevel)
  165.  
  166.         implicit_none
  167.     integer nx, ny, kx, lx, ky, ly, nlevel
  168.     REAL z(nx, ny), clevel(nlevel)
  169.  
  170.     call plcon07(z,nx,ny,kx,lx,ky,ly,clevel,nlevel)
  171.  
  172.     end
  173.  
  174. !***********************************************************************
  175.  
  176.     subroutine plcon1(z,nx,ny,kx,lx,ky,ly,clevel,nlevel,xg,yg)
  177.  
  178.         implicit_none
  179.     integer nx, ny, kx, lx, ky, ly, nlevel
  180.     REAL z(nx, ny), xg(nx), yg(ny), clevel(nlevel)
  181.  
  182.     call plcon17(z,nx,ny,kx,lx,ky,ly,clevel,nlevel,xg,yg)
  183.  
  184.     end
  185.  
  186. !***********************************************************************
  187.  
  188.     subroutine plcon2(z,nx,ny,kx,lx,ky,ly,clevel,nlevel,xg,yg)
  189.  
  190.         implicit_none
  191.     integer nx, ny, kx, lx, ky, ly, nlevel
  192.     REAL z(nx, ny), xg(nx, ny), yg(nx, ny), clevel(nlevel)
  193.  
  194.     call plcon27(z,nx,ny,kx,lx,ky,ly,clevel,nlevel,xg,yg)
  195.  
  196.     end
  197.  
  198. !***********************************************************************
  199.  
  200.     subroutine plcont(z,nx,ny,kx,lx,ky,ly,clevel,nlevel)
  201.  
  202.         implicit_none
  203.     integer nx, ny, kx, lx, ky, ly, nlevel
  204.     REAL z(nx, ny), clevel(nlevel)
  205.     REAL tr(6)
  206.     common /plplot/ tr
  207.  
  208.     call plcont7(z,nx,ny,kx,lx,ky,ly,clevel,nlevel,tr)
  209.  
  210.     end
  211.  
  212. !***********************************************************************
  213.  
  214.     subroutine plshade0(z, nx, ny, defined, 
  215.      &       xmin, xmax, ymin, ymax,
  216.      &       shade_min, shade_max, 
  217.      &       sh_cmap, sh_color, sh_width, 
  218.      &       min_color, min_width, max_color, max_width)
  219.  
  220.         implicit_none
  221.         character defined*(*)
  222.     integer nx, ny, sh_cmap, sh_width
  223.         integer min_color, min_width, max_color, max_width
  224.         REAL shade_min, shade_max, sh_color
  225.     REAL z(nx, ny), xmin, xmax, ymin, ymax
  226.         include_strings
  227.  
  228. !    call plstrf2c(dnam, string1, maxlen)
  229.  
  230.         call plshade07(z, nx, ny, s1, 
  231.      &       xmin, xmax, ymin, ymax,
  232.      &       shade_min, shade_max, 
  233.      &       sh_cmap, sh_color, sh_width, 
  234.      &       min_color, min_width, max_color, max_width)
  235.  
  236.     end
  237.  
  238. !***********************************************************************
  239.  
  240.     subroutine plshade1(z, nx, ny, defined, 
  241.      &       xmin, xmax, ymin, ymax,
  242.      &       shade_min, shade_max, 
  243.      &       sh_cmap, sh_color, sh_width, 
  244.      &       min_color, min_width, max_color, max_width, 
  245.      &       xg, yg)
  246.  
  247.         implicit_none
  248.         character defined*(*)
  249.     integer nx, ny, sh_cmap, sh_width
  250.         integer min_color, min_width, max_color, max_width
  251.         REAL shade_min, shade_max, sh_color
  252.     REAL z(nx, ny), xmin, xmax, ymin, ymax, xg(nx), yg(ny)
  253.         include_strings
  254.  
  255. !    call plstrf2c(dnam, string1, maxlen)
  256.  
  257.         call plshade17(z, nx, ny, s1, 
  258.      &       xmin, xmax, ymin, ymax,
  259.      &       shade_min, shade_max, 
  260.      &       sh_cmap, sh_color, sh_width, 
  261.      &       min_color, min_width, max_color, max_width, 
  262.      &       xg, yg)
  263.  
  264.     end
  265.  
  266. !***********************************************************************
  267.  
  268.     subroutine plshade2(z, nx, ny, defined, 
  269.      &       xmin, xmax, ymin, ymax,
  270.      &       shade_min, shade_max, 
  271.      &       sh_cmap, sh_color, sh_width, 
  272.      &       min_color, min_width, max_color, max_width, 
  273.      &       xg, yg)
  274.  
  275.         implicit_none
  276.         character defined*(*)
  277.     integer nx, ny, sh_cmap, sh_width
  278.         integer min_color, min_width, max_color, max_width, rectangular
  279.         REAL shade_min, shade_max, sh_color
  280.     REAL z(nx, ny), xmin, xmax, ymin, ymax, xg(nx, ny), yg(nx, ny)
  281.         include_strings
  282.  
  283. !    call plstrf2c(dnam, string1, maxlen)
  284.  
  285.         call plshade27(z, nx, ny, s1, 
  286.      &       xmin, xmax, ymin, ymax,
  287.      &       shade_min, shade_max, 
  288.      &       sh_cmap, sh_color, sh_width, 
  289.      &       min_color, min_width, max_color, max_width, 
  290.      &       xg, yg)
  291.  
  292.     end
  293.  
  294. !***********************************************************************
  295.  
  296.     subroutine pllab(xlab,ylab,title)
  297.  
  298.         implicit_none
  299.     character*(*) xlab,ylab,title
  300.         include_strings
  301.  
  302.     call plstrf2c(xlab, string1, maxlen)
  303.     call plstrf2c(ylab, string2, maxlen)
  304.     call plstrf2c(title, string3, maxlen)
  305.     
  306.     call pllab7(s1,s2,s3)
  307.  
  308.     end
  309.  
  310. !***********************************************************************
  311.  
  312.     subroutine plmtex(side,disp,pos,xjust,text)
  313.  
  314.         implicit_none
  315.     REAL disp, pos, xjust
  316.     character*(*) side, text
  317.         include_strings
  318.  
  319.     call plstrf2c(side, string1, maxlen)
  320.     call plstrf2c(text, string2, maxlen)
  321.  
  322.     call plmtex7(s1,disp,pos,xjust,s2)
  323.  
  324.     end
  325.  
  326. !***********************************************************************
  327.  
  328.     subroutine plptex(x,y,dx,dy,xjust,text)
  329.  
  330.         implicit_none
  331.     REAL x, y, dx, dy, xjust
  332.     character*(*) text
  333.         include_strings
  334.  
  335.     call plstrf2c(text, string1, maxlen)
  336.  
  337.     call plptex7(x,y,dx,dy,xjust,s1)
  338.  
  339.     end
  340.  
  341. !***********************************************************************
  342.  
  343.     subroutine plstart(devname, nx, ny)
  344.  
  345.         implicit_none
  346.     character*(*) devname
  347.     integer nx, ny
  348.         include_strings
  349.  
  350.     call plstrf2c(devname, string1, maxlen)
  351.  
  352.     call plstart7(s1, nx, ny)
  353.  
  354.     end
  355.  
  356. !***********************************************************************
  357.